package com.continuing.beef.domain;

import java.math.BigDecimal;
import java.util.Date;

import com.continuing.common.core.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.continuing.common.annotation.Excel;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 账单信息变更记录对象 bill_info_log
 * 
 * @author batata
 * @date 2021-10-01
 */
public class BillInfoLog extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 记录id */
    private Long id;

    /** 账单id */
    @Excel(name = "账单id")
    private Long idBillInfo;

    /** 金额 */
    @Excel(name = "金额")
    private BigDecimal sum;

    /** 优惠金额 */
    @Excel(name = "优惠金额")
    private BigDecimal sumDiscount;

    /** 付款金额 */
    @Excel(name = "付款金额")
    private BigDecimal sumPayment;

    /** 用户ID(客户) */
    private Long userIdClient;

    /** 用户昵称(客户) */
    @Excel(name = "用户昵称(客户)")
    private String userNickNameClient;

    /** 创建者（添加此字段是为了防止今后有添加不是本人账单的情况） */
    @Excel(name = "创建者", readConverterExp = "添=加此字段是为了防止今后有添加不是本人账单的情况")
    private Long userIdCreate;

    /** 更新者（用户id） */
    @Excel(name = "更新者", readConverterExp = "用=户id")
    private Long userIdUpdate;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date timeCreate;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date timeUpdate;

    /** 类型id */
    private String typeId;

    /** 类型说明 */
    @Excel(name = "类型说明")
    private String typeExplain;

    /** 部门id */
    @Excel(name = "部门id")
    private Long deptIdBill;

    /** 账单所属公司的部门id */
    @Excel(name = "账单所属公司的部门id")
    private Long deptIdFirmBill;

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;

    /** 账单状态（0 未结清 1 已结清） */
    @Excel(name = "账单状态", readConverterExp = "0=,未=结清,1=,已=结清")
    private Integer statusBill;

    /** 账单备注 */
    @Excel(name = "账单备注")
    private String remarkBill;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setIdBillInfo(Long idBillInfo) 
    {
        this.idBillInfo = idBillInfo;
    }

    public Long getIdBillInfo() 
    {
        return idBillInfo;
    }
    public void setSum(BigDecimal sum) 
    {
        this.sum = sum;
    }

    public BigDecimal getSum() 
    {
        return sum;
    }
    public void setSumDiscount(BigDecimal sumDiscount) 
    {
        this.sumDiscount = sumDiscount;
    }

    public BigDecimal getSumDiscount() 
    {
        return sumDiscount;
    }
    public void setSumPayment(BigDecimal sumPayment) 
    {
        this.sumPayment = sumPayment;
    }

    public BigDecimal getSumPayment() 
    {
        return sumPayment;
    }
    public void setUserIdClient(Long userIdClient) 
    {
        this.userIdClient = userIdClient;
    }

    public Long getUserIdClient() 
    {
        return userIdClient;
    }
    public void setUserNickNameClient(String userNickNameClient) 
    {
        this.userNickNameClient = userNickNameClient;
    }

    public String getUserNickNameClient() 
    {
        return userNickNameClient;
    }
    public void setUserIdCreate(Long userIdCreate) 
    {
        this.userIdCreate = userIdCreate;
    }

    public Long getUserIdCreate() 
    {
        return userIdCreate;
    }
    public void setUserIdUpdate(Long userIdUpdate) 
    {
        this.userIdUpdate = userIdUpdate;
    }

    public Long getUserIdUpdate() 
    {
        return userIdUpdate;
    }
    public void setTimeCreate(Date timeCreate) 
    {
        this.timeCreate = timeCreate;
    }

    public Date getTimeCreate() 
    {
        return timeCreate;
    }
    public void setTimeUpdate(Date timeUpdate) 
    {
        this.timeUpdate = timeUpdate;
    }

    public Date getTimeUpdate() 
    {
        return timeUpdate;
    }
    public void setTypeId(String typeId) 
    {
        this.typeId = typeId;
    }

    public String getTypeId() 
    {
        return typeId;
    }
    public void setTypeExplain(String typeExplain) 
    {
        this.typeExplain = typeExplain;
    }

    public String getTypeExplain() 
    {
        return typeExplain;
    }
    public void setDeptIdBill(Long deptIdBill) 
    {
        this.deptIdBill = deptIdBill;
    }

    public Long getDeptIdBill() 
    {
        return deptIdBill;
    }
    public void setDeptIdFirmBill(Long deptIdFirmBill) 
    {
        this.deptIdFirmBill = deptIdFirmBill;
    }

    public Long getDeptIdFirmBill() 
    {
        return deptIdFirmBill;
    }
    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }
    public void setStatusBill(Integer statusBill) 
    {
        this.statusBill = statusBill;
    }

    public Integer getStatusBill() 
    {
        return statusBill;
    }
    public void setRemarkBill(String remarkBill) 
    {
        this.remarkBill = remarkBill;
    }

    public String getRemarkBill() 
    {
        return remarkBill;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("idBillInfo", getIdBillInfo())
            .append("sum", getSum())
            .append("sumDiscount", getSumDiscount())
            .append("sumPayment", getSumPayment())
            .append("userIdClient", getUserIdClient())
            .append("userNickNameClient", getUserNickNameClient())
            .append("userIdCreate", getUserIdCreate())
            .append("userIdUpdate", getUserIdUpdate())
            .append("timeCreate", getTimeCreate())
            .append("timeUpdate", getTimeUpdate())
            .append("typeId", getTypeId())
            .append("typeExplain", getTypeExplain())
            .append("deptIdBill", getDeptIdBill())
            .append("deptIdFirmBill", getDeptIdFirmBill())
            .append("delFlag", getDelFlag())
            .append("statusBill", getStatusBill())
            .append("remarkBill", getRemarkBill())
            .toString();
    }
}
